<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:form id="gestionarProveedorAbastecimiento">
        <center>
            <p:growl id="myGrowl" showDetail="true" globalOnly="true" life="2000" />
        </center>
        <center>
            <p:panelGrid id="pgGestionarProveedorAbastecimiento" style="width: 80%; font-size: 10px">
                <f:facet name="header">
                    <p:row>
                        <p:column colspan="9">Registro Proveedor Abastecimiento</p:column>
                    </p:row>
                </f:facet>
                <p:row >
                    <p:column styleClass="celdaLabelMayor">
                        <h:outputLabel  value="Razón social:" />
                    </p:column>
                    <p:column colspan="9" >
                        <p:inputText required="true" value="#{beanGestionProveedorAbastecimiento.proveedor.razonSocialProveedor}" requiredMessage="#{msg.requiredField}" 
                                     size="100" id="nombreProveedorAbastecimiento" ></p:inputText>
                        <p:message for="nombreProveedorAbastecimiento" id="nombreProveedorAbastecimientomsg"></p:message>
                    </p:column>
                </p:row>

                <p:row>
                    <p:row>
                        <p:separator></p:separator>
                    </p:row>

                    <p:column colspan="9" styleClass="celdaLabelMayor">
                        <h:outputLabel  value="Dirección" />
                    </p:column>
                </p:row>
                <p:row >
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Tipo de vía" />
                    </p:column>

                    <p:column styleClass="celdaLabel">
                        <h:outputText  value="Nombre o número de vía" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Número vía generadora" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o cuadrante via generadora" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Número de la placa" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Ubicación geográfica" />
                    </p:column>
                </p:row>
                <p:row>
                    <p:column>
                        <p:selectOneMenu id="tipoVia" title="Seleccione el tipo de vía de la direccion" 
                                         valueChangeListener="#{beanGestionProveedorAbastecimiento.revisarDireccion()}"
                                         required="true" converter="tipoViaConverter" value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.tipoViaIdTipoVia}" 
                                         requiredMessage="#{msg.requiredSelect}">
                            <f:selectItem itemLabel="--Seleccione el tipo de via--" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.tipoViaList}" var="tipoVia" itemValue="#{tipoVia}" itemLabel="#{tipoVia.nombreTipoVia}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="tipoVia" id="AAA23"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="nombreONumeroVia" required="true"
                                     valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                     value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.nombreViaDireccion}"
                                     requiredMessage="#{msg.requiredField}" maxlength="50" >
                            <p:ajax event="blur" process="@this" update="address" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"></p:ajax>

                        </p:inputText>
                        <p:message for="nombreONumeroVia" id="AAA24"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo1" converter="prefijoConverter" value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.idPrefijo1}"
                                         label="Seleccione el prefijo o cuadrante"
                                         valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}">
                            <f:selectItem itemLabel="" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.prefijoList}" var="prefijo1" itemValue="#{prefijo1}" itemLabel="#{prefijo1.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo1" id="AAA25"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo1A" 
                                         value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.idPrefijo2}"
                                         converter="prefijoConverter" valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                         title="Seleccione el prefijo o cuadrante">
                            <f:selectItem itemLabel="" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.prefijoList}" var="prefijo2" itemValue="#{prefijo2}" itemLabel="#{prefijo2.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo1A" id="AAA26"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="numeroViaGeneradora" size="5" required="true"
                                     value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.numeroViaDireccion}"
                                     requiredMessage="#{msg.requiredField}" valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                     maxlength="5">
                            <p:ajax global="false" event="blur" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:inputText>
                        <p:message for="numeroViaGeneradora" id="AAA261"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo2" disabled="false"
                                         value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.idPrefijo3}"
                                         valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                         converter="prefijoConverter"
                                         title="Seleccione el Tercer Prefijo o Cuadrante"
                                         >
                            <f:selectItem itemLabel=" " itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.prefijoList}" var="prefijo3" itemValue="#{prefijo3}" itemLabel="#{prefijo3.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo2" id="AAA27"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo2A"
                                         value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.idPrefijo4}"
                                         valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                         converter="prefijoConverter"
                                         title="Seleccione el Cuarto Prefijo o Cuadrante" >
                            <f:selectItem itemLabel=" " itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.prefijoList}" var="prefijo4" itemValue="#{prefijo4}" itemLabel="#{prefijo4.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo2A" id="AAA28"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="numeroPlaca" size="5" required="true"
                                     maxlength="3"
                                     valueChangeListener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                     requiredMessage="#{msg.requiredField}" 
                                     value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.numeroPlacaDireccion}">

                            <p:ajax global="false" event="blur" listener="#{gestionarProveedorAbastecimiento.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>                                                      
                        </p:inputText>
                        <p:message for="numeroPlaca" id="AAA29"/>
                    </p:column>
                    <p:column>

                        <p:commandLink id="linkMap" 
                                       disabled="#{beanGestionProveedorAbastecimiento.habilitarmapa}"
                                       update="coordenadasMap"
                                       title="Ver mapa" 
                                       onclick="mapDialogProAba.show();codeAddressProveedorAbastecimiento()">
                            <p:graphicImage  value="#{beanGestionProveedorAbastecimiento.globeIcon}" 

                                             />

                        </p:commandLink>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column styleClass="celdaLabelMayor">
                        <h:outputText value="Dato Complementario" />
                    </p:column>
                    <p:column colspan="8">
                        <p:selectOneMenu id="datoComplementario1" converter="datoComplementarioConverter"
                                         value="#{beanGestionProveedorAbastecimiento.proveedor.direccionIdDireccion.datoComplementario}"
                                         >
                            <f:selectItem itemLabel="--Seleccione--" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.datoComplementarioList}" var="dComplem" itemValue="#{dComplem}" itemLabel="#{dComplem.nombreDatoComplementario}"/>
                            <p:ajax global="false" event="change" process="@this"/>
                        </p:selectOneMenu>
                    </p:column>
                </p:row>
                <p:row>

                    <p:column>
                        <p:inputText  id="address" disabled="true" 
                                      size="50" value="#{beanGestionProveedorAbastecimiento.direccionMostrada}" />
                    </p:column>
                    <p:column styleClass="celdaLabelMayor">
                        <p:outputLabel id="coordenadas" value="Coordenadas: "/>
                    </p:column>  
                    <p:column colspan="7">
                        <p:outputLabel id="coordenadasMap" value="Longitud: #{beanGestionProveedorAbastecimiento.proveedor.longitudProveedor} - Latitud: #{beanGestionProveedorAbastecimiento.proveedor.latitudProveedor}"/>
                    </p:column>  

                </p:row>
                <p:row>

                    <p:column styleClass="celdaLabelMayor">
                        <h:outputLabel  value="Teléfono de Contacto:" />
                    </p:column>
                    <p:column  >
                        <p:inputText id="TelefonoContacto" 
                                     value="#{beanGestionProveedorAbastecimiento.proveedor.telefonoContactoProveedor}" 
                                     required="true" requiredMessage="#{msg.requiredField}" size="20"></p:inputText>
                        <p:message for="TelefonoContacto" id="TelefonoContactomsg"></p:message>
                    </p:column>

                    <p:column styleClass="celdaLabelMayor">
                        <h:outputLabel  value="Tipo de Proveedor:" />
                    </p:column>
                    <p:column colspan="9">
                        <p:selectOneMenu id="tipodeproveedor" 
                                         value="#{beanGestionProveedorAbastecimiento.proveedor.tipoProveedorIdTipoProveedor}"
                                         converter="tipoProveedorConverter" required="true" requiredMessage="#{msg.requiredSelect}" >  
                            <f:selectItem itemLabel="--Seleccione un tipo de proveedor--" itemValue=""></f:selectItem>
                            <f:selectItems value="#{beanGestionProveedorAbastecimiento.listaTipoProvedor}"
                                           var="tipoProveedor" itemLabel="#{tipoProveedor.nombreProveedor}"
                                           itemValue="#{tipoProveedor}">
                            </f:selectItems>
                        </p:selectOneMenu> 
                        <p:message for="tipodeproveedor" id="tipodeproveedormsg"></p:message>
                    </p:column>

                </p:row>
                <p:row>
                    <p:column styleClass="celdaLabelMayor" >
                        <h:outputLabel  value="Estado:" />
                    </p:column>
                    <p:column colspan="9">
                        <p:selectOneRadio id="options" value="#{beanGestionProveedorAbastecimiento.proveedor.estadoProveedor}">  
                            <f:selectItem itemLabel="Activo" itemValue="true" />  
                            <f:selectItem itemLabel="Inactivo" itemValue="false" />  
                        </p:selectOneRadio> 
                        <p:message for="options" id="optionsmsg" />
                    </p:column>
                </p:row>
                <p:row >
                    <p:column colspan="9" style="text-align: left">
                        <p:commandButton value="Guardar" actionListener="#{guardarProveedorAbastecimiento}"
                                         process="@this,options,nombreProveedorAbastecimiento,TelefonoContacto,tipodeproveedor,numeroPlaca,tipoVia,nombreONumeroVia,numeroViaGeneradora"
                                         update="nombreProveedorAbastecimiento,:menu:tabViewGeneral:tabViewAbastecimiento:gestionarMaterialConstruccion,TelefonoContacto,tipodeproveedor,
                                         nombreProveedorAbastecimientomsg,TelefonoContactomsg,tipodeproveedormsg,AAA29,AAA23,AAA24,AAA261,
                                         resumenProveedoresAbastecimiento,myGrowl,optionsmsg,numeroPlaca,tipoVia,nombreONumeroVia,numeroViaGeneradora,
                                         prefijo1,prefijo1A,prefijo2,prefijo2A,linkMap,coordenadasMap,datoComplementario1,address"
                                         />
                    </p:column>
                </p:row>
            </p:panelGrid>
            <br></br>
            <br></br>
            <p:column colspan="9">
                <p:dataTable id="resumenProveedoresAbastecimiento" var="proveedorAbastecimiento" 
                             rowKey="#{proveedorAbastecimiento.idProveedor}"
                             selection="#{beanGestionProveedorAbastecimiento.proveedorselected}"
                             selectionMode="single"
                             style="font-size: 12px" 
                             value="#{beanGestionProveedorAbastecimiento.listaAgregada}"
                             emptyMessage="No se han encontrado proveedores registrados" paginator="true" >  

                    <p:ajax event="rowSelect" listener="#{gestionarProveedorAbastecimiento.rowSelected}"   
                            update="resumenProveedoresAbastecimiento,:menu:tabViewGeneral:tabViewAbastecimiento:gestionarProveedorAbastecimiento:pgGestionarProveedorAbastecimiento"  />  
                    <p:ajax event="rowUnselect" listener="#{gestionarProveedorAbastecimiento.onRow}" update="resumenProveedoresAbastecimiento,:menu:tabViewGeneral:tabViewAbastecimiento:gestionarProveedorAbastecimiento:pgGestionarProveedorAbastecimiento"/>  
                    <f:facet name="header">  
                        <p:row>
                            <p:column >Resumen de los proveedores</p:column>
                        </p:row>
                    </f:facet>  

                    <p:column filterBy="#{proveedorAbastecimiento.razonSocialProveedor}" headerText="Razón Social">  
                        <h:outputText value="#{proveedorAbastecimiento.razonSocialProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorAbastecimiento.telefonoContactoProveedor}" headerText="Teléfono">  
                        <h:outputText value="#{proveedorAbastecimiento.telefonoContactoProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorAbastecimiento.tipoProveedorIdTipoProveedor.nombreProveedor}" headerText="Tipo de proveedor" >  
                        <h:outputText value="#{proveedorAbastecimiento.tipoProveedorIdTipoProveedor.nombreProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorAbastecimiento.direccionIdDireccion.tipoViaIdTipoVia.nombreTipoVia} #{proveedorAbastecimiento.direccionIdDireccion.nombreViaDireccion} 
                              #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo1.nombrePrefijo} #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo2.nombrePrefijo}
                              #{proveedorAbastecimiento.direccionIdDireccion.numeroViaDireccion}
                              #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo3.nombrePrefijo} #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo4.nombrePrefijo}
                              #{proveedorAbastecimiento.direccionIdDireccion.numeroPlacaDireccion}  #{proveedorAbastecimiento.direccionIdDireccion.datoComplementario.nombreDatoComplementario}" headerText="Dirección">  
                        <h:outputText value="#{proveedorAbastecimiento.direccionIdDireccion.tipoViaIdTipoVia.nombreTipoVia} #{proveedorAbastecimiento.direccionIdDireccion.nombreViaDireccion} 
                                      #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo1.nombrePrefijo} #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo2.nombrePrefijo} #
                                      #{proveedorAbastecimiento.direccionIdDireccion.numeroViaDireccion}
                                      #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo3.nombrePrefijo} #{proveedorAbastecimiento.direccionIdDireccion.idPrefijo4.nombrePrefijo}
                                      #{proveedorAbastecimiento.direccionIdDireccion.numeroPlacaDireccion}  #{proveedorAbastecimiento.direccionIdDireccion.datoComplementario.nombreDatoComplementario}"></h:outputText>
                    </p:column> 
                    <p:column headerText="Estado" >
                        <p:selectBooleanButton value="#{proveedorAbastecimiento.estadoProveedor}" onLabel="Activo" offLabel="Inactivo" disabled="true" onIcon="ui-icon-check" offIcon="ui-icon-close">  </p:selectBooleanButton>    
                    </p:column>
                </p:dataTable> 
            </p:column>
            <p:column> 
                <p:commandButton value="Actualizar " actionListener="#{actualizarProveedoresAbastecimiento}"
                                         process="@this"
                                         update="resumenProveedoresAbastecimiento" 
                                         />
            </p:column>
        </center>
    </h:form>
</html>